"""
@file:app.py
@Author:熙梵
@sate:2020/07/14
"""
import os
from flask import Flask

def create_app(config=None):

    app = Flask(__name__)

    # load default configuration
    # 加载配置: config.settings和config.secure是模块路径
    app.config.from_object('config.settings')
    app.config.from_object('config.secure')
    # load environment configuration
    # FLASK_CONF="/path/to/config_dev.py"
    # FLASK_CONF="/path/to/config_prod.py"
    # 也可以根据系统环境变量，加载不同的配置文件
    if 'FLASK_CONF' in os.environ:
        app.config.from_envvar('FLASK_CONF')
    # load app sepcified configuration
    if config is not None:
        if isinstance(config, dict):
            app.config.update(config)
        elif config.endswith('.py'):
            app.config.from_pyfile(config)
    #蓝图注册
    import router, models
    router.init_app(app)
    #将数据库
    models.init_app(app)
    # 返回核心对象
    return app